<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //普通函数
      //   const sum = function (a, b) {
      //     return a + b;
      //   };
      //   console.log(sum(1, 2));
      //   //箭头函数
      //   const total = (a, b) => {
      //     return a + b;
      //   };
      //   console.log(total(2, 3));
      //   //箭头函数一行的简写
      //   const add = (a, b) => a + b;
      //   console.log(add(4, 5));

      //普通函数和箭头函数的区别
      //1、箭头函数中没有this，会把this当成一个普通的变量，会去其所在父元素找
      //      let age = 100;
      //   const obj = {
      //     age: 18,
      //     shit: () => {
      //         console.log(this.age)
      //     },
      //   };
      //   obj.shit()
      'use strict';
      //var 成为window下的一个属性，let不行
    //   var age = 100;
      const obj = {
        age: 18,
       
        // 普通函数
        getAge(){
            console.log(this.age)
        }
        //箭头函数
        // getAge: () => {
        //   console.log('age is ' + this.age);
          
        // },
        // 箭头函数
        // getAge: function () {
        //   // ,this指向全局的this
        //   return () => {
        //     console.log('age is ' + this.age);
        //   };
        // },
      };
      //   obj.getAge()();
      obj.getAge();
      //2、箭头函数中没有arguments（伪数组），用剩余参数...args可以替代。args是一个真数组
            const sum =(...args) => {
                console.log(args)
            }
            sum(1,2,3)
            //3、箭头函数不能new函数
            const Person =() => {}
    </script>
  </body>
</html>
